Type LibraryLoaderFactory

	Global firstFactory:LibraryLoaderFactory

	Field nextFactory:LibraryLoaderFactory

	Function Fetch:LibraryLoader(name:String)
		Local factory:LibraryLoaderFactory=LibraryLoaderFactory.firstFactory
		While factory
			Local loader:LibraryLoader = factory.CreateLoader(name)
			If loader Then
				Return loader
			End If
			factory = factory.nextFactory
		Wend		
	End Function
	
	Method New()
		nextFactory = LibraryLoaderFactory.firstFactory
		LibraryLoaderFactory.firstFactory = Self
	End Method

	Method CreateLoader:LibraryLoader(name:String) Abstract

End Type
